The SQL++ Query Language: Configurable, Unifying and Semi-structured
نویسندگان
چکیده
NoSQL databases support semi-structured data, typically modeled as JSON. They also provide limited (but expanding) query languages. Their idiomatic, non-SQL language constructs, the many variations, and the lack of formal semantics inhibit deep understanding of the query languages, and also impede progress towards clean, powerful, declarative query languages. This paper specifies the syntax and semantics of SQL++, which is applicable to both JSON native stores and SQL databases. The SQL++ semi-structured data model is a superset of both JSON and the SQL data model. SQL++ offers powerful computational capabilities for processing semistructured data akin to prior non-relational query languages, notably OQL and XQuery. Yet, SQL++ is SQL backwards compatible and is generalized towards JSON by introducing only a small number of query language extensions to SQL. Indeed, the SQL capabilities are most often extended by removing semantic restrictions of SQL, rather than inventing new features. Recognizing that a query language standard is probably premature for the fast evolving area of NoSQL databases, SQL++ includes configuration options that formally itemize the semantics variations that language designers may choose from. The options often pertain to the treatment of semi-structuredness (missing attributes, heterogeneous types, etc), where more than one sensible approaches are possible. SQL++ is unifying: By appropriate choices of configuration options, the SQL++ semantics can morph into the semantics of existing semi-structured database query languages. The extensive experimental validation shows how SQL and four semi-structured database query languages (MongoDB, Cassandra CQL, Couchbase N1QL and AsterixDB AQL) are formally described by appropriate settings of the configuration options. Early adoption signs of SQL++ are positive: Version 4 of Couchbase’s N1QL is explained as syntactic sugar over SQL++. AsterixDB will soon support the full SQL++ and Apache Drill is in the process of aligning with SQL++.
منابع مشابه
The SQL++ Unifying Semi-structured Query Language, and an Expressiveness Benchmark of SQL-on-Hadoop, NoSQL and NewSQL Databases
SQL-on-Hadoop, NewSQL and NoSQL databases provide semi-structured data models (typically JSON based) and respective query languages. Lack of formal syntax and semantics, idiomatic (nonSQL) language constructs and large variations in syntax, semantics and actual capabilities pose problems even to database experts: It is hard to understand, compare and use these languages. It is especially tediou...
متن کاملMobiSnap: Managing Database Snapshots in a Mobile Environment∗
This paper presents MobiSnap, a research project that aims to support the development of SQL based applications for mobile environments, providing configurable support for data divergence control and connectivity abstractions. One of the project goals is to assist the migration of legacy SQL based applications into these new operational platforms.
متن کاملTranslate Graphical XML Query Language to SQLX
Semi-structured data has become more and more attention-getting with the emergence of XML, and it has aroused much enthusiasm for integrating XML and SQL in database community. Due to the complexity of XQuery, graphical XML query languages have been developed to help users query XML data. In this paper, we propose a new XML-to-SQL solution on the base of ORA-SS, a rich semantic model for semi-s...
متن کاملAdapter Generation for Extracting and Querying Data from Web Sources
Accessing and integrating data from heterogeneous sources has become a significant challenge. So-called adapters provide the functionality for translating SQL queries into queries understandable by the source as well as converting the results into a common model. In this paper, we present our approach of an adapter for Web sources, which is configurable by specifying a sourcespecific extraction...
متن کاملQuilt2Sql — An XML Storage Schema and Query Engine for the Quilt Query Language
XML (the eXtensible Markup Language) is on the road to becoming a standard for computerized data presentation. With its ability to define a database’s structure within the data document itself (or within a small, attached Document Type Definition file), XML allows web visitors to download and view a site’s data with no previous knowledge of the data format. Thus, XML is a powerful language for ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014